/**

This file is part of MaCI/GIMnet.

MaCI/GIMnet is free software: you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation, either version 3 of the License, or 
(at your option) any later version.

MaCI/GIMnet is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with GIMnet. (See COPYING.LESSER) If not, see 
<http://www.gnu.org/licenses/>.

**/
#include "MaCI.hpp"
#include "gimi.h"
#include "LoggerGenerator.hpp"
class MaCI_Logger_woWX{
public:
  MaCI_Logger_woWX(gimi::GIMI *g, 
                    MaCI::MaCICtrl::CMaCICtrlClient *mcc);
  
  ~MaCI_Logger_woWX();


  void Start();
  void DoMenu();
private:
  void PrintMaCIServices();
  void PrintMenu();
  bool DoSLScan();
  void SelectServices();
  void StartLogging();
  void StopLogging();
  void DestroyLoggers();
  gimi::GIMI *iGimi;
  MaCI::MaCICtrl::CMaCICtrlClient *iMcc;
  MaCI::MaCICtrl::TServiceEntryArray iServices;
  MaCI::MaCICtrl::TServiceEntryArray iUniqueServices;
  LoggerGenerator *iLoggerGenerator;

  std::map<std::string, bool> iSelectedServices;
  std::map<std::string,MaCI::MaCICtrl::SServiceEntry> iServiceMap;
  std::vector<Logger *> iLoggers;

  bool iLogging;

  MaCI_Logger_woWX(const MaCI_Logger_woWX&):
    iGimi(NULL),
    iMcc(NULL),
    iServices(),
    iUniqueServices(),
    iLoggerGenerator(),
    iSelectedServices(),
    iServiceMap(),
    iLoggers(),
    iLogging(false)
  {}

  MaCI_Logger_woWX &operator=(const MaCI_Logger_woWX&){return *this;}


};
